package com.logic.landseaserver.persistence.read;

import java.util.HashMap;
import java.util.List;

import com.logic.common.util.QueryUtil;
import com.logic.landseaserver.domain.RealBill;
import com.logic.landseaserver.domain.RealBillBalanceRecord;
import com.logic.landseaserver.ws.dto.RealBillDTO;
import com.logic.landseaserver.ws.dto.UserBillDTO;
import com.logic.landseaserver.ws.request.CurrentBillReq;

public interface RealBillReadMapper {

    RealBill selectByPrimaryKey(Integer id);

    List<RealBillDTO> getDTOList(QueryUtil queryUtil);
    
    /**
     * 
     * [简要描述]：查询实时账单勾销记录</br>
     * [详细描述]：</br>
     * [作者]：Aaron(2017-09-26)</br>
     *
     * @param queryUtil
     * @return
     *
     */
    List<RealBillBalanceRecord> getDTOListWithBillCancel(QueryUtil queryUtil);

    RealBillDTO selectDTOByPrimaryKey(Integer realBillId);

    List<?> getList(QueryUtil arg0);

    List<UserBillDTO> queryUserRealBillList(CurrentBillReq req);
    
    /**
     * 
     * [简要描述]：获取实时账单billNo下一个序列</br>
     * [详细描述]：</br>
     * [作者]：Aaron(2017-07-08)</br>
     *
     * @return
     *
     */
    Integer getMaxRealBillNoCode(Integer contractId);

    List<RealBill> getByContractAdStatus(HashMap queryMap);
}